package com.vxdata.common.utils.base64;


import com.vxdata.common.utils.StringUtils;
import com.vxdata.common.utils.file.FileUploadUtils;
import org.springframework.web.multipart.MultipartFile;

/**
 * base64 转 MultipartFile 并上传
 * @description: 传入图片的base64
 * @author: KimJun
 * @date: 18/11/13 00:25
 */
public class Base64ToMultipartFileUtil {

    /**
     * 转为文件并上传
     *
     * @param base64String     Base64编码的字符串
     * @param contentType      文件类型
     * @param originalFilename 文件原始名称
     * @return
     */
    public static String base64ToUrl(String base64String, String contentType, String originalFilename) {
        try {
            if (StringUtils.isEmpty(base64String)) {
                return null;
            }
            if (StringUtils.isEmpty(originalFilename)) {
                originalFilename = "image.jpg";
            }
            MultipartFile multipartFile = base64ToMultipart(base64String, contentType, originalFilename);
            if (multipartFile != null) {
//                // 上传文件路径
//                String filePath = VxDataConfig.getUploadPath();
//                // 上传并返回新文件名称
//                String fileName = FileUploadUtils.upload(filePath, multipartFile);
//                return fileName;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * @param base64String     Base64编码的字符串
     * @param contentType      文件类型
     * @param originalFilename 文件原始名称
     * @return
     */
    public static MultipartFile base64ToMultipart(String base64String, String contentType, String originalFilename) {
        return HutoolBase64ToMultipartFile.fromBase64(base64String, contentType, originalFilename);
    }

}